package com.bgs.travelapp.login.service;

import com.bgs.travelapp.result.CommonResult;
import com.bgs.travelapp.user.entity.UserEntity;

/**
 * 登录模块（前端展示）
 * lzy 2022-7-26 08点47分
 */
public interface LoginService {

    /**
     * 根据手机号发送验证码 （前端展示）
     * lzy 2022-7-26 08点47分
     * @param phone
     * @return
     */
    void sendCodeByPhone(String phone);

    /**
     * 根据手机号验证登录（前端展示）
     * lzy 2022-7-26 09点05分
     * @param phone
     * @return
     */
    Object loginByPhone(String phone);

    /**
     * 根据账号密码登录（前端展示）
     * lzy 2022-7-26 11点07分
     * @param loginName
     * @param password
     * @return
     */
    CommonResult loginByUser(String loginName, String password);

    /**
     * 根据邮箱登录（前端展示）
     * lzy 2022-8-2 14点28分
     * @param mail
     * @param code
     * @return
     */
    CommonResult loginByQQCode(String mail, String code);

    /**
     * 根据qq邮箱账号发送验证码 （前端展示）
     * lzy 2022-8-2 14点28分
     * @param mail
     * @return
     */
    CommonResult sendCodeByQQMail(String mail);

    /**
     * 校验邮箱号是否被绑定（前端展示）
     * lzy 2022-8-2 20点20分
     * @param mail
     * @return
     */
    CommonResult checkMail(String mail);

    /**
     * 注册获取验证码（前端展示）
     * lzy 2022-8-2 20点43分
     * @param mail
     * @return
     */
    void sendCodeByQQMailRe(String mail);

    /**
     * 注册用户（前端展示）
     * lzy 2022-8-2 21点06分
     * @param userEntity
     * @param code
     * @return
     */
    CommonResult registerUser(UserEntity userEntity,String code);
}
